The term "interactive information handling system" refers to an information handling system in which the system is highly dependent upon interaction with the operator of the system. The nature of the interaction generally involves either the system displaying to the operator on a display device, such as a video terminal or an all-points addressable display unit, certain information, and the operator responding by entering information into the system via an input device (e.g., keyboard, mouse, tablet, voice, etc.). The interaction may also reflect that the operator has entered information into the system and the system responds to that information by displaying some predetermined information to the operator.
The degree of interaction between the operator and the system varies, depending upon the system configuration, the application being run by the particular program, and the task that the operator has chosen to execute.
A large number of information handling systems currently exist which perform on an interactive basis. A very large percentage of personal computers currently are involved in processing applications that are highly interactive. Examples of such applications are the various text processing programs and spreadsheet-type programs that are available to operators of various personal computers.
Another type of application for information handling systems that is becoming increasingly important is referred to as graphics. Some of the initial graphic applications were directed to what is generally referred to as business graphics, e.g., graphs or charts. In these applications the system is programmed to take a table of numeric data, for example, and present it as a graphic object, that is, a pie chart, a bar chart, or some similar type chart. These systems were interactive to the extent that the operator was able to select, for example, the type of chart, the size of the chart, and the placement of the chart on the screen. In some applications, the operator could even select the various shadings or colors or the components of the chart. The function of editing these business graphics charts was limited in most applications to editing actions involving the entire object, such as deletion, removing, and scaling-type editing actions.
More recently, graphic applications have been developed which are truly interactive and which permit the operator to actually draw graphic objects on the screen. In these applications, the operator controls the position and movement of the cursor so that lines can be traced on the display screen by the system. The system is generally capable of receiving cursor movement data from the keyboard and/or several other operator controlled devices, such as a mouse, a joystick, or a data tablet. The applications which permit the operator to actually draw objects on the screen are sometimes referred to as "interactive draw graphics" to distinguish them from the business type of graphic applications.
The commercial success of application programs are generally dependent upon how "user friendly" the program appears to the operator, rather than how fast such a program can actually run. This is especially true when the system being used is a personal computer and the operator is generally not very experienced in interfacing with computer systems. In interactive draw graphic applications, the ability of the operator to edit graphic objects is a necessity, and the manner in which the editing operation is implemented is one of the most important criteria in assessing the user friendliness of an interactive draw graphic program.
The editing of graphic objects is similar, in some respects, to the editing of text. Both text and graphic editing applications provide for the functions of inserting, deleting, moving, and copying. Graphic editing applications also include such unique functions, such as scaling up/scaling down, stretch/shrink, and rotate, which are not found in text editing applications. Scaling up/scaling down editing differs from stretch/shrinking, in that the scale function involves the entire object, while the stretch/shrink editing action involves a change in the portion of the object in the direction of the movement of the cursor. In the former, for example, a square will always remain a square, and a circle will always remain a circle. In the shrink/stretch editing action, the square becomes a rectangle and a circle becomes an ellipse or an oval.
In both text editing and graphic editing, a cursor is generally employed to designate the "point of action." In most text processing applications, the cursor is generally the conventional blinking dash-type cursor. In some graphic applications, the conventional blinking cursor is replaced by a "pointing cursor" to designate the point of action. The other aspect of the editing function, namely the specific editing action, for example, insert, move, or rotate, is provided in various ways by prior art interactive draw graphic systems.
In some systems, the available editing actions are selectively displayed as a command bar at the bottom of the screen in response to the operator actuating a predetermined function key and a second cursor is then used to select the desired action from the command bar.
In other systems, the command bar is always displayed at the bottom of the screen and the operator selects the editing command by positioning the cursor to the command. In these latter systems, while only one cursor is displayed, its appearance is changed from a blinking cursor to a pointing cursor during the process which is selecting the particular editing action.
It should be understood that editing functions in a graphic application are generally not motivated by the need to "correct" an error, such as occurs generally in text processing applications. In graphic applications, it is often more efficient to modify an object that has been drawn previously and stored in a library. As a result, a series of sequential editing actions are generally involved on the retrieved object to modify the original graphic object to the desired object. The interface between the operator and the system during this process should involve interactions which are straightforward, natural, easy to learn, and simple to remember.
The operator should not be required to move the point of action from the graphic object to the bottom of the screen and back to the object merely to select a different graphic editing action. The operator should also not be required to cycle through a series of editing actions in order to reach the desired action.
The present invention overcomes the above problems and provides an improved method for editing graphic objects in an interactive draw graphic system.